<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../../print.css" type="text/css" media="print">
<meta content="IController,org.puremvc.as3.interfaces.IController,executeCommand,hasCommand,registerCommand,removeCommand" name="keywords">
<title>org.puremvc.as3.interfaces.IController</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'IController - API Documentation';
				var baseRef = '../../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">PureMVC AS3 Framework - [Standard Version]</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../all-classes.html')" href="../../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../../index-list.html')" href="../../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../../index.html?org/puremvc/as3/interfaces/IController.html&amp;org/puremvc/as3/interfaces/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Interface&nbsp;IController</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Interface IController"); titleBar_setSubNav(false,false,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">org.puremvc.as3.interfaces</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Interface</td><td class="classSignature">public interface IController</td>
</tr>
<tr>
<td class="classHeaderTableLabel">Implementors</td><td><a href="../core/Controller.html">Controller</a></td>
</tr>
</table>
<p></p>
  The interface definition for a PureMVC Controller.
  
  <P>
  In PureMVC, an <code>IController</code> implementor 
  follows the 'Command and Controller' strategy, and 
  assumes these responsibilities:
  <UL>
  <LI> Remembering which <code>ICommand</code>s 
  are intended to handle which <code>INotifications</code>.</LI>
  <LI> Registering itself as an <code>IObserver</code> with
  the <code>View</code> for each <code>INotification</code> 
  that it has an <code>ICommand</code> mapping for.</LI>
  <LI> Creating a new instance of the proper <code>ICommand</code>
  to handle a given <code>INotification</code> when notified by the <code>View</code>.</LI>
  <LI> Calling the <code>ICommand</code>'s <code>execute</code>
  method, passing in the <code>INotification</code>.</LI> 
  </UL>
    <p></p>
<p>
<span class="classHeaderTableLabel">See also</span>
</p>
<div class="seeAlso">
<a href="package.html" target="">INotification</a>
<br>
<a href="package.html" target="">ICommand</a>
</div>
<br>
<hr>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#executeCommand()">executeCommand</a>(notification:<a href="INotification.html">INotification</a>):void</div>
<div class="summaryTableDescription">
   Execute the <code>ICommand</code> previously registered as the
   handler for <code>INotification</code>s with the given notification name.</div>
</td><td class="summaryTableOwnerCol">IController</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#hasCommand()">hasCommand</a>(notificationName:String):Boolean</div>
<div class="summaryTableDescription">
   Check if a Command is registered for a given Notification 
   
   </div>
</td><td class="summaryTableOwnerCol">IController</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerCommand()">registerCommand</a>(notificationName:String, commandClassRef:Class):void</div>
<div class="summaryTableDescription">
   Register a particular <code>ICommand</code> class as the handler 
   for a particular <code>INotification</code>.</div>
</td><td class="summaryTableOwnerCol">IController</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeCommand()">removeCommand</a>(notificationName:String):void</div>
<div class="summaryTableDescription">
   Remove a previously registered <code>ICommand</code> to <code>INotification</code> mapping.</div>
</td><td class="summaryTableOwnerCol">IController</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="executeCommand()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">executeCommand</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function executeCommand(notification:<a href="INotification.html">INotification</a>):void</code><p>
   Execute the <code>ICommand</code> previously registered as the
   handler for <code>INotification</code>s with the given notification name.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">notification</span>:<a href="INotification.html">INotification</a></code> &mdash; the <code>INotification</code> to execute the associated <code>ICommand</code> for
   </td>
</tr>
</table>
</div>
<a name="hasCommand()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">hasCommand</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function hasCommand(notificationName:String):Boolean</code><p>
   Check if a Command is registered for a given Notification 
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">notificationName</span>:String</code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>Boolean</code> &mdash; whether a Command is currently registered for the given <code>notificationName</code>.
   </td>
</tr>
</table>
</div>
<a name="registerCommand()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerCommand</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerCommand(notificationName:String, commandClassRef:Class):void</code><p>
   Register a particular <code>ICommand</code> class as the handler 
   for a particular <code>INotification</code>.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">notificationName</span>:String</code> &mdash; the name of the <code>INotification</code>
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">commandClassRef</span>:Class</code> &mdash; the Class of the <code>ICommand</code>
   </td>
</tr>
</table>
</div>
<a name="removeCommand()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeCommand</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function removeCommand(notificationName:String):void</code><p>
   Remove a previously registered <code>ICommand</code> to <code>INotification</code> mapping.
   
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">notificationName</span>:String</code> &mdash; the name of the <code>INotification</code> to remove the <code>ICommand</code> mapping for
   </td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright">
<footer> 
</footer>
</center>
</div>
</body>
</html>
<!-- -->
